---
title: 进度管理
description: 必考2到3分
---

进度管理就是采用科学的方法，确定进度目标，编制进度计划和资源供应计划，进行进度控制，在与质量、成本目标协调的基础，<RedSpan>实现工期目标</RedSpan>。

具体来说，<RedSpan>包括以下过程</RedSpan>：
1. 活动定义：确定<RedSpan>完成项目各项可交付成果而需要开展的具体活动</RedSpan>。
2. 活动排序：识别和记录各项<RedSpan>活动之间的先后关系和逻辑关系</RedSpan>。
3. 活动资源估算：估算完成各项活动<RedSpan>所需要的资源类型和效益</RedSpan>。
4. 活动历时估算：估算完成各项活动<RedSpan>所需要的具体时间</RedSpan>。
5. 进度计划编制：分析活动顺序、活动持续时间、资源要求和进度制约因素，<RedSpan>制定项目进度计划</RedSpan>
6. 进度控制：根据进度计划开发项目活动，<RedSpan>如果发现偏差，则分析原因或进行调整</RedSpan>。
:::tip
活动是比工作包更小的单位，是在工作包的基础上分解的。
:::
## 活动资源估算
进行 <RedSpan>活动资源估算的方法主要有专家判断法、替换方法的确定、公开的估算数据、估算软件和自下而上的估算。</RedSpan>

1. 专家判断法：专家判断法通常是由 <RedSpan>项目管理专家根据以往类似项目的经验和对本项目的判断</RedSpan>，经过周密思考，进行合理预测，从而估算出项目资源。
2. 替换方案的确定：资源估算是为了给项目预算明确空间，为早期的资源筹备提供数据，如果某项活动 <RedSpan>存在替代方案</RedSpan>，或提供的资源有替代方案，则需要明确声明。
3. 公开的估算数据：有些公司会 <RedSpan>定期地公开一些生产率或人工率数据，其中包含很多国家和地区的劳动力交易、材料和设备信息。</RedSpan>
4. 估算软件。依靠软件的强大功能，可以定义资源可用性、费率，以及不同的资源日历。
5. 自下而上的估算：把复杂的活动 <RedSpan>分解成更小的工作</RedSpan>，以便于资源估算。将每项工作所需要的资源估算出来，然后汇总即是整个活动所需要的资源。

## <RedSpan>COCOMO 模型</RedSpan>
COCOMO 模型是常见的软件规模估算方法，常见的<RedSpan>代码行分析方法</RedSpan>作为其中一种度量估计单位，以代码行数估算出每个程序员的工作量，累加得到软件成本。
模型按其详细程度可以分为三级：
1. <RedSpan>基本COCOMO模型</RedSpan> 是一种 <RedSpan> 静态单变量模型</RedSpan>，它用一个已估算出来的 <RedSpan>原代码行数（LOC）为自变量</RedSpan>的经验函数计算软件开发工作量。
2. <RedSpan>中间COCOMO模型</RedSpan>在基础 COCOMO 模型的基础上，再用 <RedSpan>涉及产品、硬件、人员、项目等方面的影响因素</RedSpan>调整工作量的估算。
3. <RedSpan>详细 COCOMO 模型</RedSpan>包括中间 COCOMO 模型的所有特性，将软件系统模型分为 <RedSpan>系统、子系统和模块</RedSpan> 3 个层次，<RedSpan>再进一步考虑了软件工程中的每一步骤（如分析、设计）的影响。</RedSpan>

## <RedSpan>COCOMO Ⅱ模型</RedSpan>
COCOMO 的升级，也是以软件规模作为成本的主要因素，考虑多个成本驱动因子。该方法包括三个阶段性模型，即 <RedSpan> 应用组装模型、早期设计阶段模型和体系结构阶段模型</RedSpan>。包含三种不同规模估算选择：<RedSpan>对象点、功能点和代码行。</RedSpan>

## 进度安排
进度安排的常用图形描述方法有 <RedSpan> Gantt图（甘特图）</RedSpan>和 <RedSpan>项目计划评审技术(Program Evaluation && Review Technique, PERT) 图</RedSpan>

<img src="https://wkq-img.oss-cn-chengdu.aliyuncs.com/img/202410022317357.png"/>

PERT 不反映并行关系，反映了任务之间的依赖关系。

甘特图反映了任务的并行关系，不反应依赖关系。
## <RedSpan>工具与技术—关键路径法</RedSpan>
关键路径：是项目的<RedSpan>最短工期，但却是从开始到结束的最长的路径。</RedSpan>进度网络图中可能有多条关键路径，因为活动会变化，因此关键路径也在不断变化中。

关键活动：关键路径上的活动，<RedSpan>最早开始时间=最晚开始时间;最早结束时间=最晚开始时间不能，最后一个活动，肯定是在关键路径上。</RedSpan>。

通常，每个阶段的活动会有如下几个时间：
1. <RedSpan>最早开始时间（ES）</RedSpan>，某项活动能够开始的最早时间。
2. <RedSpan>最早结束时间（EF）</RedSpan>，某项活动能够完成的最早时间。EF=ES+工期。
3. <RedSpan>最晚结束时间（LF）</RedSpan>，为了使项目按时完成，某项活动必须完成的最迟时间。
4. <RedSpan>最晚开始时间（LS）</RedSpan>，为了使项目按时完成，某项活动必须开始的最迟时间，LS = LF-工期。

这几个时间通常作为每个阶段的组成部分，如图所示：
* <RedSpan>顺推：最早开始 ES = 所有前置活动最早完成时间 EF 的最大值；最早完成 EF = 最早开始 ES + 持续时间</RedSpan>
* <RedSpan>逆推：最晚完成 LF = 所有后续活动最晚开始时间 LS 的最小值；最晚开始 LS = 最晚完成 LF - 持续时间</RedSpan>

<img src="https://wkq-img.oss-cn-chengdu.aliyuncs.com/img/202410022330607.png"/>
这里 D 的最早开始时间应该是 20
:::tip
求最早时间，需要使用顺推；求最晚时间，需要使用逆推。

:::

总浮动时间： 在 <RedSpan>不耽误项目完工时间且不违反进度制约因素的前提下，活动可以从最早开始时间推迟或拖延的时间量，</RedSpan>就是该活动的进度灵活性。正常情况下，关键活动的总浮动时间为零。

总浮动时间 = <RedSpan> 最迟开始时间 LS - 最早开始时间 ES  或 最迟完成时间 LF - 最早完成时间 EF 或 关键路径-非关键路径时长</RedSpan>

自由浮动时间： 是指 <RedSpan>在不延误任何紧后活动的最早开始时间且不违反进度制约因素</RedSpan>的前提下，活动可以从 <RedSpan>最早开始时间推迟或拖延的时间量。</RedSpan>。

自由浮动时间 = <RedSpan>紧后活动最早开始时间的最小值- 本活动的最早完成能时间</RedSpan>


:::tip
关键路径上，自由浮动时间 和总浮动时间都是 0
:::
